﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BE.Abastos;

namespace BC.Abastos
{
    public class CategoriasBC
    {
        public Category Create(Category item)
        {
            try
            {
                Category result = new Category();
                if (item == null)
                {
                    throw new BE.BusinessException("Categoria inválida");
                }
                else if (string.IsNullOrEmpty(item.sCategoryName))
                {
                    throw new BE.BusinessException("El nombre de la categoria es requerido");
                }
                else if (new Category() { sCategoryName = item.sCategoryName }.Select().Count > 0)
                {
                    throw new BE.BusinessException("Ya existe una categoria con ese nombre");
                }
                else
                {
                    result = item.Create();   
                }
                return result;
            }
            catch (Exception ex)
            {
                throw new BE.AppException("CategoriasBC - Create - ", ex);
            }
        }
        public List<Category> Select(Category item)
        {
            try
            {
                return item.Select();
            }
            catch (Exception ex)
            {
                throw new BE.AppException("CategoriasBC - Select - ",ex);
            }
        }
    }
}
